package com.bluesky.controller;

import com.bluesky.comm.BusinessExceptionUtils;
import com.bluesky.comm.Result;
import com.bluesky.comm.ResultUtils;
import com.bluesky.dto.lesson013.UserRegisterRequest;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;

@RestController
@Slf4j
@RequestMapping("/lesson013")
public class Lesson013Controller {

    @GetMapping("/hello")
    public Result<String> hello() {
        return ResultUtils.success("欢迎大家学习《高并发 & 微服务 & 性能调优实战案例 100 讲》");
    }

    /**
     * 登录校验，用户名为路人的时候，登录成功，否则提示用户名错误
     * @param name
     * @return
     */
    @GetMapping("/login")
    public Result<String> login(String name) {
        if (!"路人".equals(name)){
            throw BusinessExceptionUtils.businessException("100001", "用户名不正确");
        }else{
            return ResultUtils.success("欢迎回来："+name);
        }
    }

    /**
     * 下面是一个注册接口，注册需要用户名和密码，这两个参数不能为空，这里我们使用springboot自带的校验功能
     * @param request
     * @return
     */
    @PostMapping("/userRegister")
    public Result<String> userRegister(@Validated @RequestBody UserRegisterRequest request) {
        return ResultUtils.success("注册成功");
    }

}
